package lq641;
/*
迷宫数据：
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
 */
public class Main {
	static String[] mp = new String[10];
	static int[][] vis;
	static int ans = 0;
	static void dfs(int i,int j) {
		//坐标出迷宫
		if(i<0||i>9||j<0||j>9) {
			//答案加1
			ans++;
			return;
		}
		
		if(vis[i][j] == 1)
			return;
		vis[i][j] = 1;
		//根据地图
		switch(mp[i].charAt(j)) {
			case 'U':
				dfs(i-1,j);
			break;
			case 'D':
				dfs(i+1,j);
			break;
			case 'L':
				dfs(i,j-1);
			break;
			case 'R':
				dfs(i,j+1);
			break;
			default:
				return;
		}
	}
	public static void main(String[] args) {
		mp[0] = "UDDLUULRUL";
		mp[1] = "UURLLLRRRU";
		mp[2] = "RRUURLDLRD";
		mp[3] = "RUDDDDUUUU";
		mp[4] = "URUDLLRRUU";
		mp[5] = "DURLRLDLRL";
		mp[6] = "ULLURLLRDU";
		mp[7] = "RDLULLRDDD";
		mp[8] = "UUDDUDUDLL";
		mp[9] = "ULRDLUURRR";
		
		for(int i=0;i<10;i++) {      //左上角（0，0），纵坐标，第一个0，向下加1
			for(int j=0;j<10;j++) {  //左上角（0，0），横坐标，第一个0，向右加1
				//初始化vis（重置）
				vis = new int[10][10];
				//开始dfs
				dfs(i,j);
			}
		}
		System.out.println(ans);
	}
}
